package com.ruoyi.index.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 代办对象 todo_info
 *
 * @author ruoyi
 * @date 2022-09-08
 */
public class TodoInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 审批表主键
     */
    @Excel(name = "审批表主键")
    private Long approveTableId;

    /**
     * 审批表
     */
    @Excel(name = "审批表")
    private String approveTable;

    /**
     * 审批业务名
     */
    @Excel(name = "审批业务名")
    private String approveBizName;

    /**
     * 审批角色
     */

    private Long approveRoleId;

    @Excel(name = "审批角色")
    private String roleName;

    private Long[] roleIds;

    /**
     * 审批人
     */
    @Excel(name = "审批人")
    private Long approveUserId;

    /**
     * 审批时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approveTime;

    /**
     * 路由
     */
    @Excel(name = "路由")
    private String url;

    /**
     * 状态(0未处理，1已处理)
     */
    @Excel(name = "状态(0未处理，1已处理)")
    private String status;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String comment;

    public Long[] getRoleIds() {
        return roleIds;
    }

    public void setRoleIds(Long[] roleIds) {
        this.roleIds = roleIds;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setApproveTableId(Long approveTableId) {
        this.approveTableId = approveTableId;
    }

    public Long getApproveTableId() {
        return approveTableId;
    }

    public void setApproveTable(String approveTable) {
        this.approveTable = approveTable;
    }

    public String getApproveTable() {
        return approveTable;
    }

    public void setApproveBizName(String approveBizName) {
        this.approveBizName = approveBizName;
    }

    public String getApproveBizName() {
        return approveBizName;
    }

    public void setApproveRoleId(Long approveRoleId) {
        this.approveRoleId = approveRoleId;
    }

    public Long getApproveRoleId() {
        return approveRoleId;
    }

    public void setApproveUserId(Long approveUserId) {
        this.approveUserId = approveUserId;
    }

    public Long getApproveUserId() {
        return approveUserId;
    }

    public void setApproveTime(Date approveTime) {
        this.approveTime = approveTime;
    }

    public Date getApproveTime() {
        return approveTime;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getUrl() {
        return url;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public String getComment() {
        return comment;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("approveTableId", getApproveTableId())
                .append("approveTable", getApproveTable())
                .append("approveBizName", getApproveBizName())
                .append("approveRoleId", getApproveRoleId())
                .append("approveUserId", getApproveUserId())
                .append("approveTime", getApproveTime())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("url", getUrl())
                .append("status", getStatus())
                .append("comment", getComment())
                .toString();
    }
}
